Build It Bigger
Build and test a joke telling app with a free ad-supported version and a paid version. As a bonus, deploy a Google Cloud Messaging backend to supply the jokes.
In this project, you will use Gradle to build a joke-telling app, factoring functionality into libraries and flavors to keep the build simple. You'll also configure a Google Cloud Endpoints development server to supply the jokes.
Project Rubric
Your project will be evaluated by a Udacity Code Reviewer according to this rubric.
A summary of the rubric is provided below.
Required Components
- Project contains a Java library for supplying jokes
- Project contains an Android library with an activity that displays jokes passed to it as intent extras.
- Project contains a Google Cloud Endpoints module that supplies jokes from the Java library. Project loads jokes from GCE module via an async task. Note that this GCE module doesn't need to be deployed to a server. Local testing works fine.
- Project contains connected tests to verify that the async task is indeed loading jokes.
- Project contains paid/free flavors. The paid flavor has no ads, and no unnecessary dependencies.
Required Behavior
- App retrieves jokes from Google Cloud Endpoints module and displays them via an Activity from the Android Library.
Optional Components
Once you have a functioning project, consider adding more features to test your Gradle and Android skills. Here are a few suggestions:
- Make the free app variant display interstitial ads between the main activity and the joke-displaying activity.
- Have the app display a loading indicator while the joke is being fetched from the server.
- Write a Gradle task that starts the GCE dev server, runs all the Android tests, and shuts down the dev server.